//package myproject.main;
//
//import java.io.BufferedOutputStream;
//import java.io.File;
//import java.io.FileOutputStream;
//import java.io.IOException;
//import java.text.SimpleDateFormat;
//import java.util.Date;
//import java.util.List;
//import java.util.Map;
//
//import org.apache.ibatis.session.SqlSession;
//import org.apache.log4j.Logger;
//import org.apache.poi.hssf.usermodel.HSSFFont;
//import org.apache.poi.hssf.usermodel.HSSFRow;
//import org.apache.poi.hssf.usermodel.HSSFSheet;
//import org.apache.poi.hssf.usermodel.HSSFWorkbook;
//import org.apache.poi.ss.usermodel.CellStyle;
//import org.apache.poi.ss.usermodel.HorizontalAlignment;
//import org.apache.poi.ss.usermodel.IndexedColors;
//import org.apache.poi.ss.usermodel.VerticalAlignment;
//import org.apache.poi.xssf.streaming.SXSSFWorkbook;
//
//import myproject.api.ThreeD;
//import myproject.mapper.ArrayThreeMapper;
//import myproject.mapper.ThreeDataMapper;
//import myproject.utils.SqlSessionFactoryUtils;
///**
//*
//* @ClassName: RemainderMain
//* @Description:按照除三余数生成文件
//* @author: lk
//* @date: 2022年1月21日
//*
//* @Copyright: 
//*
//*/
//public class RemainderMain {
//	private static final Logger log = Logger.getLogger(RemainderMain.class);
//	private static final String outPath ="E:/lottery/sports/sort/";
//	
//	
//	public static void main(String[] args) {
//		// TODO Auto-generated method stub
//		//按和值分组生成文件
//		Date date = new Date();
//		SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//		log.info(dateFormat.format(date));
//		assortRemainderXls("welfare");
//		assortRemainderXls("sports");
//	}
//
//	/**
//	 **  按照和值大小分类xls
//	 **
//	 **/
//	public static void assortRemainderXls(String lotteryType){
//		
//		long startTime=System.currentTimeMillis();
//		Date date = new Date();
//		SimpleDateFormat dateFormat= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//		log.info(dateFormat.format(date));
//		//创建HSSFWorkbook对象  
//	   	HSSFWorkbook wb = new HSSFWorkbook(); 
//	   	SXSSFWorkbook sxssbook=new SXSSFWorkbook();
//		
//		 String number="23";
//		 String fileURL="";
//		 SqlSession sqlSession = null;
//		 BufferedOutputStream bos = null;
//		 try {
//				sqlSession = SqlSessionFactoryUtils.openSqlSession();
//				ThreeDataMapper threeDataMapper = sqlSession.getMapper(ThreeDataMapper.class);
//				ArrayThreeMapper arrayThreeMapper = sqlSession.getMapper(ArrayThreeMapper.class);
//				//按和值分类开奖数据
//				List<ThreeD> threelist;
//				//按和值统计信息数据
//				List<Map<Integer,Integer>> statisticsList;
//			
//				
//				for(int i=0;i<=27;i++) {
//					    number=Integer.toString(i);
//						if(lotteryType.equals("welfare")) {
//							threelist=threeDataMapper.queryNewSum(number);
//							statisticsList =threeDataMapper.statisticsByRemainder(number);
//							fileURL="E:/lottery/welfare/sort/Remainder3D.xls";
//						}else {
//							threelist=arrayThreeMapper.queryNewSum(number);
//							statisticsList =arrayThreeMapper.statisticsByRemainder(number);
//							fileURL="E:/lottery/sports/sort/RemainderPL3.xls";
//						}
//						
//						//创建HSSFSheet对象  
//						HSSFSheet sheet = wb.createSheet(number); 
//						//创建行  
//						HSSFRow row2=sheet.createRow(0);      
//						//创建单元格并设置单元格内容  
//						row2.createCell(0).setCellValue("日期");  
//						row2.createCell(1).setCellValue("期号");      
//						row2.createCell(2).setCellValue("开奖号码");  
//						row2.createCell(3).setCellValue("百位");  
//						row2.createCell(4).setCellValue("十位");  
//						row2.createCell(5).setCellValue("个位");      
//						row2.createCell(6).setCellValue("形态"); 
//						row2.createCell(7).setCellValue("跨度");  
//						row2.createCell(8).setCellValue("和值");
//						row2.createCell(9).setCellValue("组选");
//						row2.createCell(10).setCellValue("除三余数");
//						row2.createCell(11).setCellValue("组三重复");   
//						row2.createCell(12).setCellValue("遗漏期数");   
//						
//						row2.createCell(13).setCellValue("大小");
//						row2.createCell(14).setCellValue("奇偶");
//						row2.createCell(15).setCellValue("质合");
//						row2.createCell(16).setCellValue("升降");
//						row2.createCell(17).setCellValue("区间");
//						
//						row2.createCell(18).setCellValue("遗漏期数");  
//						row2.createCell(19).setCellValue("汇总"); 
//						row2.createCell(20).setCellValue("截止"+dateFormat.format(date)+"和值"+number+"数据"); 
//						 
//						
//					   	CellStyle cellStyle = wb.createCellStyle();
//					   	cellStyle.setAlignment(HorizontalAlignment.CENTER);//水平居中
//					   	cellStyle.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中
//				         
//						HSSFFont font = wb.createFont();
//						font.setFontName("Arial");
//						font.setFontHeightInPoints((short) 12);
//						cellStyle.setFont(font);
//						
//						
//						//表头设置垂直居中、水平居中
//						for(int j=0;j<=20;j++) {
//							 row2.getCell(j).setCellStyle(cellStyle);
//					    }
//						 
//					    for(int row=0;row<threelist.size();row++) {
//					    	 HSSFRow row3=sheet.createRow(row+1);      
//					 	    //创建单元格并设置单元格内容  
//					 	    row3.createCell(0).setCellValue(threelist.get(row).getDate());  
//					 	    row3.createCell(1).setCellValue(threelist.get(row).getIssue());      
//					 	    row3.createCell(2).setCellValue(threelist.get(row).getResult());  
//					 	    row3.createCell(3).setCellValue(threelist.get(row).getHundreds());  
//					 	    row3.createCell(4).setCellValue(threelist.get(row).getTens());  
//					 	    row3.createCell(5).setCellValue(threelist.get(row).getOnes());      
//					 	    row3.createCell(6).setCellValue(threelist.get(row).getForm()); 
//					 	    row3.createCell(7).setCellValue(threelist.get(row).getSpan());
//					 	    row3.createCell(8).setCellValue(threelist.get(row).getSum());
//					 	    row3.createCell(9).setCellValue(threelist.get(row).getPacket());  
//					 	    row3.createCell(10).setCellValue(threelist.get(row).getRemainder()); 
//					 	    row3.createCell(11).setCellValue(threelist.get(row).getArray());
//					 	    row3.createCell(12).setCellValue(threelist.get(row).getDaysofdifference());  
//					 	    
//					 	    row3.createCell(13).setCellValue(threelist.get(row).getSize()); 
//					 	    row3.createCell(14).setCellValue(threelist.get(row).getOddeven()); 
//					 	    row3.createCell(15).setCellValue(threelist.get(row).getPrimeOrComposite()); 
//					 	    row3.createCell(16).setCellValue(threelist.get(row).getOrder()); 
//					 	    row3.createCell(17).setCellValue(threelist.get(row).getInterval()); 
//					 	 
//					 	    //设置单元格垂直居中、水平居中
//					 	    for(int j=0;j<=17;j++) {
//					 		  row3.getCell(j).setCellStyle(cellStyle);
//						    }
//					 	    
//					 	    
//					 	    
//					 	  
//					    }
//					    
////					     System.err.println("*******************************************");
////					     System.err.println("statisticsList.size():"+statisticsList.size());
////					    int ccc=0;
//					    //写入遗漏数据统计信息字体颜色为玫瑰
//					    
//					   
//					    for(int row =0;row<statisticsList.size();row++) {
//					    	
//					    	CellStyle cellStyle2 = wb.createCellStyle();
//						   	cellStyle2.setAlignment(HorizontalAlignment.CENTER);//水平居中
//						   	cellStyle2.setVerticalAlignment(VerticalAlignment.CENTER);//垂直居中
//					         
//							HSSFFont font2 = wb.createFont();
//							font2.setFontName("Arial");
//							font2.setFontHeightInPoints((short) 12);
//					    	font2.setColor(IndexedColors.VIOLET.getIndex());
//						    cellStyle2.setFont(font2);
//						    
//				    	    HSSFRow hssfRow=sheet.getRow(row+1);
//				    	    /*ccc++;
//				    	     System.err.println("ccc:"+ccc+"  row:"+row);
//				    	    if(row==0) {
//				    	    	hssfRow.createCell(11).setCellValue("遗漏期数");  
//				    	    	hssfRow.createCell(12).setCellValue("汇总");  
//				    	    }else {*/
//				    	    	Number daysofdifference = (Number)statisticsList.get(row).get("daysofdifference");
//				 			    Number count = (Number)statisticsList.get(row).get("count");
////				 			    System.err.println("row:"+row+"  daysofdifference:"+daysofdifference+" count:"+count);
//				 			    hssfRow.createCell(18).setCellValue(daysofdifference.intValue()); 
//				 			    hssfRow.createCell(19).setCellValue(count.intValue());  
//					    	 	hssfRow.getCell(18).setCellStyle(cellStyle2);
//					    	 	hssfRow.getCell(19).setCellStyle(cellStyle2);
////					    	 	 System.err.println("设值完成————————————————————————————————————————————————");
//				    	   // }
//			 			    
//				 	    }
//					    // 必须在单元格设值以后进行
//					    // 设置为根据内容自动调整列宽 中文不适用
//				        for (int k = 0; k < 14; k++) {
//				            sheet.autoSizeColumn(k);
//				        }   
//				        log.info("Sheet"+number+"分类完毕！");
//				}
//				
//				//输出Excel文件  
//		        //文件路径（路径+文件名）
//				File file = new File(fileURL);
//			   	//文件不存在则创建文件，先创建目录
//			    if (!file.exists()) {   
//			        File dir = new File(file.getParent());
//			        dir.mkdirs();
//			        file.createNewFile();
//			    }
//			   	FileOutputStream output=new FileOutputStream(fileURL); 
//			   	bos = new BufferedOutputStream(output);
//			   	
//			   	wb.write(bos); 
//			   	
//			   	wb.close();
//			   	output.flush(); 
//			   	
//	            log.info("Xls分类完毕！");
//	            long endTime=System.currentTimeMillis();
//		        log.info("xls分类方法执行时间："+(endTime-startTime)+"ms");
//		        log.info("xls分类方法执行时间："+(endTime-startTime)+"ms");
//		        log.info("xls分类方法执行时间："+(endTime-startTime)+"ms");
//				
//			     
//			 } catch (Exception e) {
//			     e.printStackTrace();
//			     // do something
//			 } finally {
//			       // do something
//				 if (sqlSession != null) {
//							sqlSession.close();
//						}
//				 
//				 if(bos != null){
//		                try {
//		                    bos.close();
//		                } catch (IOException e) {
//		                    e.printStackTrace();
//		                }
//
//		            }
//			 }
//				  
//				  
//			}
//	
//	
//}
